<template>
  <div class="photoinfo-container">
    <h3>{{ photoinfo.title }}</h3>
    <p class="subtitle">
      <span>发表时间：{{ photoinfo.add_time | dateFormat }}</span>
      <span>点击：{{ photoinfo.click }}次</span>
    </p>

    <hr>

    <!-- 缩略图区域 -->
    <div class="thumbs">
      <vue-preview :slides="list" ></vue-preview>
    </div>

    <!-- 图片内容区域 -->
    <div class="content" v-html="photoinfo.content"></div>
    
    <!-- 放置一个现成的 评论子组件 -->
    <cmt-box :id="id"></cmt-box>
  </div>
</template>

<script>
import comment from '../subcomponents/comment.vue'
export default {
  data(){
      return {
          id:this.$route.params.id,
          photoinfo:{}, //图片详情对象，不是数组
          list:[]
      };
  },
  created(){
      this.getPhotoInfo();
      this.getThumbs();
  },
  mounted(){ //初始化滚动条置顶
    document.body.scrollTop = 0;
    document.documentElement.scrollTop = 0;
  },
  methods:{
      getPhotoInfo(){
          this.$axios
          .get("api/getimageInfo/" + this.id)
          .then(Response=>{
            //因为只有一个对象而非数组，无需循环，不能直接message获取，而要用message[0]
            this.photoinfo = Response.data.message[0];
          })
          .catch(error=>{
              console.log("获取图片详情失败"+error)
          })
      },
      getThumbs(){
          //获取缩略图
          this.$axios
          .get("api/getthumimages/" + this.id)
          .then(Response=>{
            // 循环每个图片数据，添加补全图片的宽w和高h，这是vue-preview插件的要求
            Response.data.message.forEach(item=>{
                item.w = 600   //点击查看所展示的宽高
                item.h = 400
                item.src = item.src   //大图地址
                item.msrc = item.src  //小图地址
            });
            this.list = Response.data.message;
          })
          .catch(error=>{
              console.log("缩略图查看失败"+error)
          })
      }
  },
  components:{
      "cmt-box":comment
  }
}
</script>

<style lang="less">
.photoinfo-container {
  padding: 3px;
  h3 {
    color: #26a2ff;
    font-size: 15px;
    text-align: center;
    margin: 15px 0;
  }
  .subtitle {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
  }

  .content {
    font-size: 13px;
    line-height: 30px;
  }

  // .thumbs img{
  //     margin: 10px;
  //     box-shadow: 0 0 8px #999;
    
  // }
}
.thumbs figure{
  margin: 2px 4px;
  float: left;
}
.thumbs figure img{
  width: 100px;
  height:100px;
}

// 清除浮动影响
.content{
  clear: both;
}
</style>
